Lünen, December 5th, 2009

I have always been interested in chess and computers.

How did it all start? With the MK1 at Hertie (or was it Karstadt)?

It definitely started in Axel's living room. His aunt worked
in this department store, got an employee discount there and when the first chess computer came out, his mother brought it with her and I visited

Axel. We sat together (we were of course in the chess club as young people, how could it be otherwise?!) spellbound in front of this small black and red device and followed the LED display.

We were happy as hell when we managed to get the box to put up a bar.

That meant: I had to think about it for longer. Our joy was then diminished when

we discovered that the box did not check our moves for legality. So you could "beat" it very quickly.

Then I got this Chess Champion Delta 1 (Novag?!) from the "Metro" for Christmas. This one didn't have a library either, but at least it checked the legality of the moves.
At least it found a checkmate in 3 overnight. Sometimes.
But it could also be that I'm getting it mixed up. It's been too long.
The program was disappointingly bad. And I wrote angry letters to Novag,
letters that I still have today :-))

Even back then I thought it was cheeky to talk about a 200 DM chess computer as a

strong, advanced program when the thing was so weak.

They were already practicing bad labeling and unfair competition back then.

From then on, chess computers continued apace.

Mephisto II, IIb (6 mhz!!), Mepi III, MM2, Rebel module, MM4, MM5, RISC machine, ...

more and more chess computers.

Who would have thought that one day I would be sitting next to David Levy in Paderborn or Paris, chatting excitedly about the progress of Chris Whittington's Chess System Tal program (on which I was a consultant). I would never have thought that at the time and would reverently replay Levy's games in the chess match against the mainframe computers with my Mephisto II.


In 1986, because it was close to my hometown, I went to the Computer World Championship in Cologne.
At that time, I had already made contact with the active computer chess popes
Friedel and Steinwender, who published a magazine.
There in Cologne, I helped (together with my friend Siggi Schütte, who later became Saitek Chess Development Manager) Dieter and Frederic to record the games and create the bulletin
(back then still with paper, scissors, Pritt sticks and a photocopier).
I will never forget the evening when we sat at a buffet table with Ossi Weiner and Richard Lang,
Ossi reported on the lies they HAD TO TELL THE CUSTOMERS (because Mephi III was so weak).
Before that, Thomas Nitsche (the Mephi III programmer and world champion with the program) had appeared
and talked about his programming approach. There was a whisper that this nutcase
would soon be finished. And indeed. Nitsche was dropped and Richard Lang was the favorite.

But in Cologne, Richard's program didn't work any better than it did years later in Paderborn. I met them both again quite often :-)

Back then, we had to hack the games into an ATARI, using a shareware program called Chess-Starter by Matthias Wüllenweber.

The program was still a bit buggy, I think it had a problem with EP moves for a long time and later it became the well-known chess database ChessBase.

I was 20 and met the greats of (computer) chess Hans Berliner, Helmut Pfleger,

Vlastimil Hort, Ed Schröder, Jan Louwmann. And the little ones (Kaare Danielsen with his mini device CXG so and so,
Dieter, Ephraim Kishon [who even then held the view - and thereby made himself unpopular with me - that Israel needed atomic bombs and should and must use them against the numerous enemies that had surrounded it!] :-))
There were still a few tournaments, world championships and encounters and friendships and collaborations to follow.
But that would certainly go beyond the scope here.

Capa is of course named after Capablanca, the "chess machine".
In the 80s I was very fond of the child prodigy and Cuban chess world champion
Jose Raoul Capablanca y Graupera. As is well known, he started playing chess at the age of 4 - without ever having the rules explained to him - just by copying.
His perfect, sometimes unspectacular way of playing
was a role model for me at the time. How could he lose as few games as he did?

Well - the Capa program is still a long way from that.
There was also once a chess computer called Sandy Encore in which you could insert a Capablanca module for the strengthening endgame (and the chess computer
I believe had other Grünfeld modules for the opening etc.).
These devices also provided text commentary on the game.
That time had a big impact on me. During this time I had 15 chess computers at home, from standard devices to exotic ones, and I also wrote test reports in a computer magazine. However, I have now sold these and bought a few Citroens. And instead of all the bulky devices, I now use a small Palm for chess (first a Palm m100 and now the Zire21, Tungsten T3). Capa is a DOS chess program that is currently written in Power Basic and compiled with the Power Basic DOS compiler. It also runs under Windows 98 and even under Windows XP in command prompt emulation. Development began very early. I first started writing it with my friend Alexander Budde, that was in the 80s and 90s. Back then we didn't have PCs, but the antediluvian devices were called home computers a la Sinclair ZX Spectrum (with the rubber keyboard). Alexander had a more professional BBC ACORN B from England (back then almost everything new and technologically good came from England. Germany was FAR behind the times in computer technology in the 80s). The Acorn ran, for example, the predecessor program to Colossus by Martin Bryant: White Knight. But programming on the Sinclair was very difficult because you could only press keys that had four commands assigned to them and you often had to SEARCH for the Shift and Command keys in combination. Back then the limited hardware (the Z80A in the Sinclair only ran at 4 MHz, I think, and the device had just 16 KB of memory, of which maybe 8 were free?!) was a major problem.

VISIBILITY was also a problem, because these home computers were connected to the old televisions using a VHF/UHF adapter and a coaxial socket. And back then, televisions weren't as SHARP as they are today. So it was torture.

When I bought the Amstrad CPC-464, I was able to program in Basic for the first time. I was visiting England and there was this device in a supermarket. The fact that home computers were already being sold in supermarkets in England at that time shows that England was already ahead of us.
So this miracle box was simply imported into the developing country of Germany.

Later, the devices came onto the market with a black case from Schneider.

Everything was right with the device. Although the device wasn't much faster than the Spectrum, it had a lot of serious features.

Basic was complex, the interpreter was fast and you had 40 of the 64 KB RAM of the Locomotive Basics computer free and available. Furthermore, as with the BBC Acorn, there was an ingenious function for copying text areas by splitting the cursor. Later on, with the PC, this would probably be called COPY/PASTE. The only thing the box didn't have was a floppy drive. Instead, it did have a built-in cassette drive! Everything always took a long time to load. At that time, however, there was already Colossus 4.0 by Martin Bryant for the CPC464. Axel and I had already become acquainted with Martin's program (as mentioned above) on his BBC Acorn, because it was called White Knight, a precursor to Colossus. The CPC464 at least had a green monochrome monitor, which also had the voltage source integrated. Not much tangled cables! But it flickered, of course, maybe 60 Hertz or so. The program took a big leap when I was able to transfer it to the faster and first real computer, the Atari ST. A computer with 10mhz 68000 hardware.
The Atari ST had a flicker-free 71 Hertz monochrome monitor!!
The whole device was fast, THE student computer par excellence.
You wrote your thesis on the ATARI ST, connected to it the
classic Hewlett Packard Deskjet 500 (only black cartridge no. 26) and
you could get the Atari ST to have 4MB RAM using tricks (resoldering/soldering memory).
Back then I bought an external 20MB SCSI hard drive from a well-stocked specialist shop
which was connected to the small Atari with a host adapter.
Unfortunately, when it started up it made noises that were like a circular saw or a Concorde starting up, and it wasn't exactly small or LIGHT.
The whole box was about 50x50 cm and about 7 cm high, made of metal.
You usually put the Atari on top of it, or next to it. Anyway, with a real hard drive to save the data, things continued well.
At some point I also bought a PC hardware emulator for the Atari!
This device ran a PC alongside the Atari! So you could run DOS chess programs
(albeit slowly) on the Atari. That was the time of Rexchess and AI-Chess,
the later Mchess, which actually ran on the ATARI!! Both the Atari and the emulator used
the same hard drive. One in PC, the other in Atari format!

The constant "transfer" to other platforms does take a bit of work,
as Basic is subject to many dialect differences that must be taken into account with every adaptation. I also used a compiler that was fast for the 16-bit device for the first time, as I was using GFA-Basic. However, this also had a disadvantage: GFA-Basic did not allow line numbers and I had to improve the structure. At least that meant that the program was less plagued by spaghetti code.
When I switched to OMICRON-Basic, however, the line number drama started again.
However, OMICRON-Basic lured with an EVEN faster compiler, and what wouldn't you do for a few more nodes per second. You have to remember - from today's perspective it is no longer imaginable - that even the ATARI ST with its 1 or, when upgraded, 4MB RAM was only clocked at 10 MHz!! A Motorola 68000 with
10 MHz. If you compare that with today's PCs...

You could also run PSION Chess very well on the Atari ST.
It was probably only the equivalent of Mephisto Amsterdam with 10 instead of 12 MHz, but it was still
a world championship program.
The graphics of PSION Chess were outstanding!

At some point I transferred my/the program to the PC.

I bought a 16 MHz 286 with 1 MB RAM and 20 MB HDD and
a green monochrome monitor from Vobis for 1950 DM. Or was the monitor a different color?
In any case,
it wasn't the colored monitor, that would have cost more.

At that time I got to know the cheap chains, because I was a regular at VOBIS. Like so many others, I joined the complaint queues every week, which gave me good social contacts. On this computer (it was probably not yet that well-developed), EVERYTHING that was available was actually replaced. In the queue at Vobis, you learned to ask the people in front and behind you with THEIR VOBIS PCs to exchange experiences. "And what was wrong with you?" Power supply, HDD, graphics card, printer interface, serial card. After it was completely replaced, it actually worked until I swapped it for a 486 with 33 MHz and at least 4 MB. It would be pointless to list all the PCs I have owned so far. In any case, it was similar to the chess computer days that my living room (workroom?) often resembled a data center. 3-7 PCs were not uncommon. This could often lead to enormous temperatures in the summer. And you didn't need to heat in winter. PCs took over that.

The very fast Power-Basic
was my favorite. I think I bought it from Kirschbaum back then.
After I read an article about it somewhere.
In Chip?!

I also tried it with Visual-Basic5 for WIN from Microschrott (bought
in passing from Krüger, a Dortmund bookshop!!),
but the whole redundant menu navigation and the Windows superstructure are not my thing.
It's all far too complicated and unnecessary. PCs are of course very fast these days
(if you compare that with the 8-bit chess computers or home "computers" of the time).

We had these technological leaps at school too. We first learned on an old Siemens system in the subject of "computer science" :-)) That was Wirth's Pascal.
The operation of this huge system was so complicated, there was only a line editor,
so DESPITE Pascal you had to enter a number in each line, the commands to control the device consisted of meaningful letters: E, W, C....
And 20 students grouped themselves around 4 green terminals that were as fast as a pocket calculator. When one of the group compiled, the computer was so overloaded
that all the other programs became slower.
The Siemens system still had the big floppy disks, 7 or 8 inch beasts. Wobbly disks that very often lost data. Simply too sensitive for school bags. At some point in school we switched to Apple 2e and equipped it with 2x 5 1/4 drives in single density
(one floppy had the Pascal software and data
and the other floppy had the operating system as far as I remember).

At that time there were no real hard drives or 3 1/2 inch floppy disks, let alone HDD floppy disks!!

So a maximum of 360 or 720 KB fit on a floppy disk.

I then learned in UCSD Pascal. But Basic was actually always at least as powerful.

The only advantage that the Pascal systems had back then was that they provided a fast
compiler. While the Basic systems were actually always
interpreter systems, and therefore slower. Of course that hasn't been the case for a long time.

The program has - as you can see - "experienced" many transformations and implementations on a wide variety of hardware and software and I have also - let me state this openly - taken various inspirations.
The most important thing was the book by Schrüfer and Kraas, actually no ideas from the
Minimax program that was circulating in CSS and later on the Internet.

There have been a lot of source codes for a long time and a lot of them. I think it was in CHIP, a long time ago, that a chess program for the ZX81 was printed. Back then you had to enter the listings by hand into the fiddly machine. But it worked! Then there is TURBOSCHACH, written in PASCAL, and the Spracklens book (SARGON) also had source code.

Then Chrilly Donninger published his Nimzo-Guernica (with sources!) and of course there is Crafty. Finally, CSS came along with a CSS chess program in Basic and C, which later became the Minimax program in a book project by Friedel+Steinwender in collaboration with Donninger.

Another program was circulating, probably also from a magazine. More recently, GERBIL (Bruce Moreland) and

TSCP (Tom Kerrigan) have been added. Then, of course, there was the GNUchess project. So, sources upon sources.

The most commonly used language is probably C or C++. Personally, I don't like C that much.

Some kind of machine gibberish without a proper structure. Unreadable to the human eye.

PASCAL or structured BASIC are more my thing.

The Capa program is not very good. It is more for me to tinker with the language a bit

(when I am caught in a monsoon on Sylt) and to understand the relationships in programming myself.

A kind of experimental field.

Now to the game with the program:

At the beginning the program asks you what your name is.
Here you can enter your name and if applicable your playing strength in ELO.
This will be used later in the PGN header.

If you want to let Capa compete against opposing programs, it is recommended that you
enter the name and game settings of the opposing program in this input line, then
you will have them entered into the PGN afterwards and there can be no confusion.

There is then a query that clarifies whether you want to start a game from the basic position or start by entering a position.
And also whether you want to play WHITE or BLACK. Since white always moves,
if you enter black you have to wait for the computer to move.
You will be asked about your playing level.
I know - a lot of questions. But that's just how it is.

Then comes the menu for entering moves.
As a rule, you enter the moves in algebraic coordinates, e.g. g1f3 for Ng1-f3.
Or you choose a command from the list.

The program provides information while calculating.
The position evaluation is - as with ChessBase interfaces - positive if WHITE is better
(regardless of who has white) and negative if BLACK is better (regardless of who has the black pieces).
I hope you get used to this way of looking at things.

You can also see the NPS, the number of positions per second (if the program is NOT in permanent brain mode) and the total number of positions calculated as well as the main variation and the move number.
The calculation depth is given in half moves. This means that one chess move corresponds to 2 half moves = 2 moves.

KOMM

With this command, you can activate commentary on the game in the program.
You have to imagine the whole thing like the old chess computers
MGS Steinitz and others, which provided text commentary.
That's why I copied it.
The comments are also saved in the game form afterwards.

WBRT

Switches between a small and a large ASCII text board.

WBRT means "change board"

REMI

Offer the program a draw.

MONI

This switches to monitor mode and back to normal again.
Corresponds to the 2-player input mode in some chess programs.
Here you can enter handicap moves without the computer moving.
Indirectly, you can also change sides later.

LEVE

The game levels show staggered calculation times between 1 and 12.

12 should be the correspondence chess level. The program no longer interrupts and calculates
until it sees a checkmate for or against it!!

Level 1 should be around 1-3 seconds on a normal PC.

Level 6 is approximately tournament level 40/120.

Here is the overview:

Level 1: Fast game level 1-10 seconds

Level 2: 10-20 seconds

Level 3: 20-30 seconds

Level 4: 30-40 seconds

Level 5: 40"-2 minutes

Level 6: ESC abort possible 2-4 minutes

Level 7: ESC abort possible 4-6 minutes

Level 8: ESC abort possible 6-10 minutes

Level 9: ESC abort possible 10-15 minutes

Level 10: ESC abort possible 15-30 minutes

Level 11: ESC abort possible 30'-3 hours

Level 12: ESC abort possible

Analysis level: calculates until checkmate is found or maximum depth is reached.

This can vary depending on the PC hardware.

On game levels 6-11 and 12 you can press the ESC key to abort the Forcibly cancel a move and thus shorten the thinking time. This is important, for example, for tournament operators if the program is likely to exceed the time limit (it has no time controls and therefore does not know which "hour" has struck) and you want to save it from this in a legal way. And of course if you want to cancel the correspondence chess level. The thinking time on levels 6-11 (the levels marked with ESC for premature cancellation) can be many times longer than the average time estimated here. If you are playing under Windows, it is very important that Capa runs in full screen mode in order to get the necessary resources allocated by Windows. In the window it only gets a few resources and as a result the program has to calculate longer to play the move. SETU Position input I tried to program it as conveniently as possible. PART

Here you can see the previous moves, including comments (if switched on)
and various calculation information (in {} such as:
d and calculation depth, position evaluation, seconds for the move, possibly comment)
After the computer has shown the notation, it then waits for a key and asks you
for further commands.

NEWG

starts a new game. Don't worry, the old game is automatically saved in games.pgn.

STOP

Exits the program, but first saves the game in the games.pgn file.

Here are a few examples of games against a few weaker amateur, freeware and demo programs,
which show roughly what Capa can do and what it can't.

It seems to me that Novachess and Nero are not a big problem. TSCP is more of a problem. But it doesn't seem to be
stronger than Capa. Rather weaker.

For example, a game from the GAMES.PGN file would then look like this:


[Event "Spielstufe 6"]
[Site "max NPS: 78725"]
[Date "09-24-2004"]
[Round "?"]
[White "Capa 3.8"]
[Black "Novachess 1.1 very difficult]

1.e2-e4 d7-d5 2.e4-e5 {d 8, .606, 403,} e7-e6 3.g1-h3 {d 8, .532, 634,} c8-d7 4.f1-e2 {d 8, .47, 667,} c7-c5 
5.e1-g1 {d 8, .497, 288,} b8-c6 6.f2-f4 {d 8, .355, 288,} f8-e7 7.b2-b3 {d 8, .4, 508,} f7-f6 
8.c1-b2 {d 7, .336, 202,} f6-e5 9.f4-e5 {d 7, .429, 479,} d5-d4 10.e2-f3 {d 8, .427, 733,} d8-c7 
11.f3-c6 {d 7, .396, 733,} d7-c6 12.d1-e2 {d 7, .367, 733,} e8-c8 13.b1-a3 {d 7, .318, 733,} d8-d5 
14.a1-e1 {d 7, .531, 432,JETZT IST ALLES KLAR} g7-g5 15.c2-c4 {d 7, .525, 432,} d4-c3 
16.b2-c3 {d 7, .634, 591,} c7-d8 17.a3-c4 {d 7, .592, 310,} c6-b5 18.c4-d6 {d 7, .729, 344,SIE DENKEN, ICH RECHNE!} d5-d6
19.e2-b5 {d 7, .693, 344,} d6-a6 20.e1-e3 {d 7, .624, 344,} g8-h6 21.e3-d3 {d 7, .612, 344,YOU ARE DR TARRASCH!} d8-e8 
22.b5-e8 {d 7, .572, 344,} h8-e8 23.f1-a1 {d 8, .458, 344,SIE MUESSEN DIRK FRICKENSCHMIDT SEIN} e8-f8 
24.h3-f2 {d 8, .493, 199,} g5-g4 25.d3-e3 {d 8, .514, 268,} h6-f5 26.e3-e4 {d 8, .514, 234,} g4-g3 
27.f2-h3 {d 8, .488, 234,} g3-h2 28.g1-h2 {d 7, .467, 111,} f8-g8 29.e4-f4 {d 7, .514, 124,} h7-h5 
30.h3-f2 {d 7, .42, 274,} f5-h4 31.g2-g3 {d 8, .415, 4168,AARGH} 

Here is another fragment of a game against the freeware program NovaChess, unfortunately I don’t know the author:


[Event "Spielstufe 3"]
[Site "max NPS: 72790"]
[Date "09-30-2004"]
[Round "?"]
[White "Capa 3.8"]
[Black "NovaChess1.1]
[Result "*"]

1.d2-d4 {d 7, .617, 16,} d7-d5 2.g1-f3 {d 6, .609, 10,} b8-c6 3.c1-f4 {d 6, .581, 11,} c8-e6 
4.e2-e3 {d 6, .761, 10,} g8-f6 5.f1-b5 {d 6, .821, 10,} d8-d7 6.f3-e5 {d 5, 1.756, 5,} e6-g4 
7.e5-d7 {d 5, 4, 8,} g4-d1 8.d7-f6 {d 6, 3.979, 8,} e7-f6 9.e1-d1 {d 6, 3.915, 8,} f8-d6 
10.f4-d6 {d 6, 4.094, 7,ich biete patt!} c7-d6 11.b1-c3 {d 6, 4.049, 7,} a7-a6 
12.b5-a4 {d 6, 4.776, 7,so frueh} a8-c8 13.d1-d2 {d 6, 4.8314, 5,} e8-g8 
14.c3-d5 {d 6, 4.789, 8,} b7-b5 15.a4-b3 {d 6, 4.793, 8,} f8-e8 16.c2-c3 {d 6, 4.8494, 8,} a6-a5 
17.a2-a4 {d 5, 5.458, 5,ich hoffe sie ziehen sofort!} b5-b4 18.c3-b4 {d 5, 5.453, 5,} c6-b4 
19.d5-b4 {d 6, 5.4502, 8,} a5-b4 20.a4-a5 {d 6, 5.4502, 8,now the defense crumbles} c8-c7 
21.d2-d3 {d 6, 5.4621, 5,} e8-c8 22.d3-e4 {d 6, 5.5327, 4,} c7-e7 23.e4-d5 {d 7, 5.6282, 6,} e7-e6 
24.a1-a4 {d 7, 6.4515, 8,} c8-b8 25.d5-c6 {d 7, 6.6852, 8,} e6-e7 26.c6-d6 {d 6, 6.7502, 20,} e7-e8 
27.d6-c7 {d 6, 6.599, 4,} b8-c8 28.c7-d6 {d 8, 6.4942, 11,} e8-d8 29.d6-e7 {d 9, 6.664, 7,} d8-e8 
30.e7-d6 {d 8, 6.4942, 7,} e8-d8 31.d6-e7 {d 9, 6.664, 7,} d8-e8 32.e7-d6 {d 8, 6.4942, 7,} 


Here is a game against the freeware DOS program Nero5.3 by Jari Huikari from
Finland:

[Event "Spielstufe 6"]
[Site "max NPS: 78037"]
[Date "10-02-2004"]
[Round "?"]
[White "Capa 3.8"]
[Black "Nero5.3 180s]
[Result "*"]

1.d2-d4 {d 8, .609, 155,} g8-f6 2.c1-g5 {d 8, .628, 300,} b8-c6 3.d4-d5 {d 8, .622, 318,why did you do that} c6-b4 
4.b1-c3 {d 7, .673, 318,} d7-d6 5.e2-e4 {d 7, 1.045, 174,} c8-d7 6.g1-f3 {d 7, .937, 268,} e7-e6 
7.d5-e6 {d 6, 1.479, 157,} f7-e6 8.e4-e5 {d 7, 1.309, 288,} h7-h6 9.g5-f6 {d 7, .806, 288,gleich kommt eine kombi} g7-f6 
10.f3-h4 {d 7, 1.522, 288,sie muessen dirk frickenschmidt sein} h8-h7 11.a2-a3 {d 7, 1.32, 288,} b4-c6 
12.e5-d6 {d 7, 1.251, 288,} f8-d6 13.d1-h5 {d 7, .648, 225,you are playing like frederic friedel} e8-f8 
14.h5-g6 {d 7, .548, 270,} d8-e7 15.g6-h5 {d 7, .405, 270,} e7-e8 16.h5-f3 {d 7, .521, 223,} f6-f5 
17.f3-e3 {d 7, .335, 223,was wuerde vlastimil dazu sagen?} e8-h5 
18.h4-f3 {d 7, .394, 223,} h5-g4 19.h2-h3 {d 7, .442, 291,} g4-g7 20.e1-c1 {d 7, .486, 279,} f5-f4 
21.e3-e4 {d 7, .676, 272,habe ich eine chance} c6-d8 22.f1-b5 {d 7, .658, 272,} f8-g8 
23.b5-d7 {d 7, .67, 272,} g7-d7 24.f3-e5 {d 7, .698, 272,} d7-g7 25.e5-c4 {d 7, .709, 473,} d6-c5 
26.e4-f4 {d 7, 1.377, 218,alarm} d8-c6 27.f4-h4 {d 7, 1.436, 218,} a8-f8 28.c3-e4 {d 7, 1.432, 218,} f8-f5 
29.e4-c5 {d 7, 1.669, 199,gleich sind sie dran} f5-c5 30.c4-e3 {d 7, 1.68, 199,} g7-g6 
31.d1-d2 {d 7, 1.645, 235,} h7-g7 32.h1-d1 {d 7, 1.702, 228,} c5-h5 33.h4-c4 {d 7, 1.722, 208,} g7-f7 
34.c4-d3 {d 7, 1.782, 243,seit wann koennen menschen schach spielen?} g6-d3 35.c2-d3 {d 8, 1.8353, 2602,} h5-c5 
36.c1-b1 {d 9, 1.9683, 535,die tasten bitte nicht so fest druecken} g8-h7 37.d3-d4 {d 8, 2.0499, 183,} c5-g5 
38.b1-c2 {d 8, 2.0586, 183,durch aufgeben hat noch keiner eine partie verloren} 

[Event "Spielstufe 6"]
[Site "max NPS: 90267"]
[Date "10-07-2004"]
[Round "?"]
[White "Nero5 180s average"]
[Black "Capa 3.8"]
[Result "*"]

1.e2-e4 e7-e5 {d 8, .54, 324,} 2.g1-f3 d7-d5 {d 8, .429, 480,} 3.b1-c3 d5-e4 {d 7, .314, 298,} 4.f3-e5 d8-d4 {d 7, .256, 298,} 
5.d1-h5 g7-g6 {d 7,-1.876, 298,} 6.c3-b5 d4-c5 {d 7,-1.855, 222,} 7.b2-b4 c5-e7 {d 7,-2.027, 200,} 8.e5-g6 f7-g6 {d 7,-1.876, 200,} 
9.h5-c5 b8-a6 {d 8,-1.896, 200,moechten sie auch mal gewinnen?} 10.c5-e7 f8-e7 {d 8,-1.875, 200,} 11.c1-b2 e7-f6 {d 8,-1.883, 200,laecherlich sowas} 
12.b2-f6 g8-f6 {d 8,-1.864, 200,}  13.f1-c4 e8-e7 {d 8,-1.993, 380,}  14.c2-c3 h8-d8 {d 8,-2.002, 260,}  15.e1-c1 f6-g4 {d 8,-2.16, 248,it's my turn again} 
16.d1-f1 g4-e5 {d 7,-2.061, 248,have i told you i am a woman}  17.f1-e1 c8-f5 {d 8,-2.214, 318,}  18.c4-e2 e7-f7 {d 7,-2.247, 214,usually i play better} 

Here is a game against Tom Kerrigan's simple chess program TSCP:


[Event "Spielstufe 6"]
[Site "max NPS: 55067"]
[Date "10-08-2004"]
[Round "?"]
[White "Capa 3.9"]
[Black "TSCP 1.81 st 180]
[Result "*"]

1.d2-d4 {d 8, .609, 172,} d7-d5 2.c1-f4 {d 8, .633, 286,} e7-e6 3.e2-e3 {d 8, .634, 286,} g8-f6 
4.b1-d2 {d 7, .583, 176,} b8-c6 
5.f1-b5 {d 7, .741, 158,koennen sie mir mal erklaeren warum sie nicht aufgeben?} c8-d7 
6.g1-f3 {d 7, .632, 158,} f8-e7 7.b5-c6 {d 7, .64, 383,} d7-c6 8.f3-e5 {d 7, .427, 142,you are playing like frederic friedel} c6-b5 
9.d1-f3 {d 7, .393, 142,j'adoub} c7-c6 10.e1-c1 {d 7, .393, 142,} d8-a5 11.c1-b1 {d 7, .379, 250,} e8-g8 12.f4-g5 {d 7, .377, 250,} f6-e4 
13.g5-e7 {d 7, .4756, 239,} e4-d2 14.d1-d2 {d 7, .457, 239,illegal move} a5-d2 15.e7-f8 {d 7, .457, 239,} a8-f8 
16.h1-d1 {d 8, .404, 280,riechen sie das auch?} d2-a5 17.e5-d7 {d 7, .407, 280,der geht?} f8-d8 18.d7-c5 {d 8, .447, 280,} b5-c4 19.b2-b3 {d 8, .537, 253,this needs care} a5-b5 
20.a2-a4 {d 7, .496, 137,brillant} b5-b4 21.c2-c3 {d 8, 1.2405, 137,} b4-c3 22.b3-c4 {d 8, .673, 137,} d5-c4 23.f3-g3 {d 8, 1.2465, 3112,} c3-b4 
24.b1-c2 {d 8, .493, 3112,} b7-b6 25.g3-h4 {d 7, .4655, 3112,} 




[Event "Spielstufe 5"]
[Site "max NPS: 57971"]
[Date "10-07-2004"]
[Round "?"]
[White "Capa 3.8"]
[Black "TSCP 1.81 st 180]
[Result "*"]

1.d2-d4 {d 8, .609, 123,} e7-e6 2.e2-e4 {d 7, .583, 97,} d7-d5 3.e4-e5 {d 7, .541, 84,} b8-d7 
4.f1-d3 {d 7, .622, 85,} c7-c5 5.c2-c3 {d 7, .547, 85,} c5-d4 6.c3-d4 {d 6, .433, 56,} f8-b4 
7.e1-f1 {d 7, .517, 94,sie haben geuebt} g8-e7 8.a2-a3 {d 6, .655, 43,} b4-a5 
9.d1-g4 {d 6, .56, 37,} e8-g8 10.g1-e2 {d 7, .561, 102,} a5-c7 11.c1-g5 {d 6, 1.292, 41,} f8-e8 
12.b1-d2 {d 6, .977, 73,} d7-e5 13.d4-e5 {d 6, 2.0935, 81,} c7-e5 
14.d3-h7 {d 6, 2.0935, 81,} g8-h7 15.g5-e7 {d 7, 2.199, 81,matt in 7!} e8-e7 
16.g4-h5 {d 7, 2.302, 81,} h7-g8 17.h5-e5 {d 7, 2.265, 81,} f7-f6 
18.e5-g3 {d 7, 2.217, 81,} e6-e5 19.a1-c1 {d 7, 2.147, 81,} d5-d4 
20.g3-d3 {d 7, 2.1325, 146,ihr letzter zug war schlecht} c8-e6 
21.f1-g1 {d 6, 2.0685, 146,darf ich sie daran erinnern,wir spielen schach!} a8-c8 
22.c1-c8 {d 6, 2.0785, 146,} d8-c8 23.d3-e4 {d 7, 1.935, 146,} c8-d7 
24.e4-d3 {d 7, 1.997, 74,} d7-c8 25.d3-e4 {d 7, 1.935, 73,} c8-d7 
26.e4-d3 {d 7, 1.997, 73,riechen sie das auch?} d7-c8 
27.d3-e4 {d 7, 1.935, 73,} c8-d7 
28.e4-d3 {d 7, 1.997, 73,sie sollten auf ihre bauern acht geben} 

If you consider that TSCP has hash tables and a library,
these are not bad games.

The highest node per second value determined on this computer in the game so far is also saved in the Event line, as well as the date and the level of play.

The program has a permanent brain (= in English: it is constantly calculating, even when it is YOUR turn). It also shows the PB move currently calculated
after it has spit out the move. If you now enter a key, the
input menu appears. Now enter the exact PB move, or an empty input (Return or
ENTER) automatically plays the PB move and the program does not start calculating from the beginning
but continues the calculations. Unfortunately, no NPS is displayed in PB mode.

At least you can use it to enter moves very quickly.
So always check whether the PB move is not the move you are about to type in. Then press SPACE, for example, the menu appears, and press RETURN/ENTER and you're good to go.

Of course, the program is not yet able to compete seriously against professional programs,
even if they run on much weaker hardware.

Here is a pretty embarrassing game against ChessGenius for Palm, which on my
Zire21 (RISC-ARM Palm with 192 MHz and 256KB hash, approx. 39,000 NPS!) is of course

far too strong for my Capa program, even though it does get more NPS on the PC used. But as we all know, NPS is not everything:



[Event "Spielstufe 6"]
[Site "max NPS: 97987"]
[Date "09-22-2004"]
[Round "?"]
[White "Capa 3.8"]
[Black "PalmGenius2.0 Zire21 192mhz]

1.d2-d4 {d 8, .609, 104,} d7-d5 2.c1-f4 {d 8, .633, 104,} c7-c6 3.e2-e3 {d 8, .733, 215,} c8-f5 
4.b1-c3 {d 7, .652, 128,WHAT CAN I SAY} e7-e6 5.f1-d3 {d 7, .629, 128,} g8-e7 6.g1-f3 {d 7, .647, 184,} f5-d3 
7.d1-d3 {d 7, .678, 162,} b8-d7 8.e1-g1 {d 7, .607, 170,} e7-g6 9.f4-g3 {d 7, .573, 170,} f8-e7 
10.f1-d1 {d 7, .502, 170,} e8-g8 11.g1-h1 {d 7, .461, 170,} c6-c5 12.d3-b5 {d 7, .42, 170,} d8-c8 
13.d1-d2 {d 7, .274, 170,} d7-b6 14.a1-d1 {d 6, .46, 82,} b6-c4 15.d2-d3 {d 7, .445, 251,} a7-a6 
16.b5-b3 {d 7,-.277, 251,} c4-e5 17.d3-d2 {d 7, .285, 251,} e5-f3 18.g2-f3 {d 8, .235, 251,} b7-b5 
19.d4-c5 {d 7, .231, 251,} c8-c5 20.a2-a4 {d 8, .274, 251,} b5-b4 21.c3-a2 {d 7, .256, 251,} a6-a5 
22.c2-c3 {d 7, .263, 206,} b4-c3 23.a2-c3 {d 7, .339, 295,} c5-b4 24.b3-c2 {d 7, .344, 1772,} a8-c8 
25.d2-d4 {d 7, .1844, 163,} b4-b6 26.c2-e2 {d 7,-.684, 163,} e7-f6 27.d4-d3 {d 8,-.623, 163,} c8-c4 
28.d1-a1 {d 7,-.147, 183,SHOULD WE SWITCH SIDES} f8-c8 29.a1-a3 {d 7,-.651, 197,} b6-b4 
30.c3-d1 {d 6,-.221, 112,} c4-c2 31.e2-f1 {d 8,-.6697, 112,} g6-e5 32.g3-e5 {d 7,-.279, 112,} f6-e5 
33.d3-b3 {d 7,-.276, 112,} b4-d2 34.b3-b5 {d 7,-.17, 140,} c2-c1 35.a3-d3 {d 7, .003, 140,} d2-c2 
36.b5-a5 {d 8,-1.969, 140,} e5-b2 37.h1-g2 {d 7,-.843, 140,} h7-h6 38.a5-b5 {d 7,-1.021, 120, READY FOR THIS?} b2-f6 
39.b5-b3 {d 7,-.992, 111,} c8-a8 40.e3-e4 {d 7,-1.08, 94,WAS NUN?} d5-e4 41.f3-e4 {d 7,-2.1055, 94,} a8-a4 
42.g2-f3 {d 7,-1.976, 94,SIE SOLLTEN AUF IHRE BAUERN ACHT GEBEN} c2-c7 43.h2-h3 {d 7,-2.2865, 134,} c7-e5 
44.f3-g2 {d 8,-2.444, 187,} e5-e4 45.g2-h2 {d 8,-2.585, 187,BEGRABT MEIN HERZ AN DER BIEGUNG DES FLUSSES} a4-a2 
45.g1-h2 {AUFGABE!} 0:1


By the way, you can import the game via the clipboard or as a PGN database in ChessBase GUIs
(Edit / Insert / Insert game) and other intelligent programs. They can do that!

An example:

this is what my original "protocol" looked like:



[Event "Spielstufe 5"]
[Site "max NPS: 77706"]
[Date "10-29-2008"]
[Round "?"]
[White "Capa 4.0"]
[Black "EvilKnight2]
[Result "*"]

1.d2-d4 {d 7, .617, 934,} d7-d5 2.g1-f3 {d 7, .53, 397,} e7-e6 3.c1-g5 {d 7, .483, 167,} f8-e7 4.g5-e7 {d 7, .558, 134,nimm den} d8-e7 5.b1-c3 {d 8, .578, 225,} e7-b4 6.a1-b1 {d 7, .588, 102,} h7-h6 7.e2-e3 {d 7, .784, 79,licht licht} c7-c5 8.a2-a3 {d 7, .766, 166,} b4-b6 9.c3-a4 {d 6, .714, 78,} b6-a5 10.c2-c3 {d 7, .678, 78,} c5-c4 11.f1-e2 {d 7, .636, 114,} b7-b6 12.b2-b4 {d 7, .598, 144,} c4-b3 13.d1-b3 {d 6, .551, 144,} h6-h5 14.b3-b4 {d 6, .679, 67,} c8-d7 15.b4-a5 {d 7, .91, 152,} b6-a5 16.a4-c5 {d 7, .91, 152,} b8-c6 17.c5-d7 {d 7, 1.851, 156,} e8-d7 18.b1-b7 {d 7, 1.881, 156,} d7-d6 19.f3-g5 {d 7, 2.1119, 52,} g8-h6 20.b7-f7 {d 7, 2.1058, 52,} a8-g8 21.e2-h5 {d 7, 3.0384, 121,} h6-f7 22.g5-f7 {d 7, 2.9461, 60,hilfe} d6-d7 23.f7-h8 {d 8, 2.9237, 189,das haette ich sehen muessen!} g8-h8 24.h5-d1 {d 8, 3.1014, 189,} h8-b8 25.h2-h4 {d 8, 3.02, 189,} e6-e5 26.h1-h3 {d 7, 3.001, 127,seit wann koennen menschen schach spielen?} e5-d4 27.c3-d4 {d 7, 3.2, 78,} b8-b1 28.h3-g3 {d 9, 3.4643, 173,} g7-g6 29.g3-g6 {d 9, 3.6, 113,} c6-e7 30.g6-f6 {d 9, 4.2354, 113,} e7-g8 31.f6-a6 {d 9, 5.4199, 111,} a5-a4 32.a6-a7 {d 9, 6.4006, 120,} 



Since this is only pseudo PGN, I copy and paste it into the well-known and free program ARENA (for some reason it no longer worked with Shredder classic or Fritz11).
Arena can parse it, and then you can convert it back into real PGN...


[Event "Spielstufe 5"]
[Site "max NPS: 77706"]
[Date "10-29-2008"]
[Round "?"]
[White "Capa 4.0"]
[Black "?"]
[Result "*"]
[TimeControl "40/600:40/600:40/600"]
[Termination "unterminated"]
[PlyCount "63"]
[WhiteType "human"]
[BlackType "human"]

1. d4 {d 7, .617, 934,} d5 2. Nf3 {d 7, .53, 397,} e6 3. Bg5 {d 7, .483,
167,} Be7 4. Bxe7 {d 7, .558, 134,nimm den} Qxe7 5. Nc3 {d 8, .578, 225,}
Qb4 6. Rb1 {d 7, .588, 102,} h6 7. e3 {d 7, .784, 79,licht licht} c5 8. a3
{d 7, .766, 166,} Qb6 9. Na4 {d 6, .714, 78,} Qa5 10. c3 {d 7, .678, 78,}
c4 11. Be2 {d 7, .636, 114,} b6 12. b4 {d 7, .598, 144,} cxb3 13. Qxb3 {d
6, .551, 144,} h5 14. Qb4 {d 6, .679, 67,} Bd7 15. Qxa5 {d 7, .91, 152,}
bxa5 16. Nc5 {d 7, .91, 152,} Nc6 17. Nxd7 {d 7, 1.851, 156,} Kxd7 18. Rb7
{d 7, 1.881, 156,} Kd6 19. Ng5 {d 7, 2.1119, 52,} Nh6 20. Rxf7 {d 7,
2.1058, 52,} Rag8 21. Bxh5 {d 7, 3.0384, 121,} Nxf7 22. Nxf7 {d 7, 2.9461,
60,hilfe} Kd7 23. Nxh8 {d 8, 2.9237, 189,das haette ich sehen muessen!}
Rxh8 24. Bd1 {d 8, 3.1014, 189,} Rb8 25. h4 {d 8, 3.02, 189,} e5 26. Rh3 {d
7, 3.001, 127,seit wann koennen menschen schach spielen?} exd4 27. cxd4 {d
7, 3.2, 78,} Rb1 28. Rg3 {d 9, 3.4643, 173,} g6 29. Rxg6 {d 9, 3.6, 113,}
Ne7 30. Rf6 {d 9, 4.2354, 113,} Ng8 31. Ra6 {d 9, 5.4199, 111,} a4 32. Rxa7
{d 9, 6.4006, 120,} *

then we have a real PGN....
The comments in the curly brackets are from Capa himself.

Here is a game against the commercial Palm chess computer
Mephisto Maestro Travel Chess (program by Craig Barnes),
tournament level on my Athlon 2400+, the times are not always correct
because Capa sometimes got stuck in the background:




[Event "Spielstufe 6"]
[Site "max NPS: 59967"]
[Date "12-05-2009"]
[Round "?"]
[White "Capa 4.2"]
[Black "Maestro Travel Chess"]
[Result "*"]

1. d4 {d 8, .609, 361,} c6 2. e4 {d 8, .687, 507,} d5 3. e5 
{d 7, .641, 470,} g6 4. Bf4 {d 7, .668, 770,} Bg7 5. Qe2 {d 
7, .658, 487,} Na6 6. Nc3 {d 7, .69, 537,} Qb6 7. O-O-O {d 
7, .869, 946,} Be6 8. Nf3 {d 7, .959, 714,} Bc8 9. Qe3 {d 
7, 1.027, 670,} Bf5 10. Nh4 {d 7, 1.042,-82853,} Bg4 11. f3 
{d 7, 1.04,-82853,} Bc8 12. Be2 {d 7, 1.05, 1424,} Nc7 
13. Na4 {d 7, 1.046,-56211,} Qa5 14. Qb3 {d 6, 
.798,-56211,} Ne6 15. Bg3 {d 6, .939, 1038,} Nh6 16. f4 {d 
6, 1.025, 1572,bitte ein glas milch fuer mich} O-O 17. Rd2 
{d 6, .872, 570,} b5 18. Nc5 {d 6, .615, 639,} Nxc5 
19. dxc5 {d 6, .658, 699,} a6 20. Bf3 {d 6, .345, 422,} Rd8 
21. Re1 {d 5, .886, 266,} Bd7 22. Rd4 {d 5, .905, 630,} Ra7 
23. h3 {d 6, .925, 658,} Be6 24. Bf2 {d 5, .94, 629,} Qc7 
25. g4 {d 6, .959, 629,} Qb7 26. Bg2 {d 6, 1.05, 211,} Bd7 
27. Kb1 {d 6, 1.031, 12077,} Be6 28. Qf3 {d 6, 1.047, 714,} 
Raa8 29. Qd3 {d 6, .998, 514,} Qd7 30. f5 {d 6, 1.821, 
257,beruehrt,gefuehrt!} gxf5 31. g5 {d 6, 1.752, 257,} Ng4 
32. hxg4 {d 6, 1.769, 257,} fxg4 33. Rf4 {d 6, 1.7295, 
257,} Rab8 34. Nf5 {d 6, 1.8425, 2801,} Bxf5 35. Qxf5 {d 7, 
1.953, 2801,wollen wir nicht aufhoeren?} Qxf5 36. Rxf5 {d 
9, 2.4605, 2801,} h5 37. gxh6 {d 7, 1.977, 2801,hier gilt 
der alte bay-city-rollers song: it's a game!!} Bxh6 38. Rh5 
{d 8, 2.5567, 2801,naja} Bg7 39. Rh4 {d 7, 2.622, 
524,sitzenbleiben!} f5 40. exf6 {d 8, 2.9606, 524,} exf6 
41. Rxg4 {d 7, 2.9606, 524,} Re8 42. Rxe8+ {d 7, 2.9399, 
524,} Rxe8 43. Bf3 {d 8, 2.888, 524,} *
 


The game was loaded into Shredder Classic, which can read the Capa format, and then exported with the clipboard, which results in a standardized PGN!

For the future:

Next, 

1. the installation of an opening library and 
2. hash tables is planned.

The data structure can also be combined.

At least that is the plan, I will create a tree like the original Colossus Chess, which links the games and saves the calculation times/depths. Perhaps as a hash position.

3. loading and continuing to play saved games.

4. and undoing moves.

5. and of course expanding the search (which is still very primitive) and the 6. evaluation function.

So take it easy.

I still have to save something for when I retire :-))
Of course, the program is not free of bugs. Like every good chess program, I have built in a few so that they have something to complain about and can spend evenings in agonizing phone 
conversations with me about the poor support of my nonexistent company. Of course, they can really annoy me by putting the program through the WM test and then discussing it in the CSS forum. Embarrassing :-)) 


Best regards, 

Thorsten Czub, 
thorstenczub@aol.com



P.S.: After writing down/seeing this whole history here, I really feel very old. 
Did I really start programming at a time when there were no hard drives or floppy or diskette drives, 
and when we could still see blurry letters floating around on the TV while sitting 30 cm in front of the X-ray tube?!?


On August 28, 2026, I started continuing Capa with Claude Code.

Everything greater than version 4.2 is therefore being continued with AI.

As a result, we now have an engine Capa49 that has been migrated from the PowerBasic DOS framework to FreeBasic Windows.

The sound can now be turned on/off with BEEP, and moves can be taken back with BACK.

Furthermore, the program includes hash tables and an opening book that is loaded from a text file, ENGOPEN.TXT, before the game starts.

This allows for trying out other books later on.

The next planned changes are:

- to develop a functioning UCI engine

- to program time controls instead of levels, X in Y, which offer virtually endless possibilities

- to increase the playing strength by optimizing the book and revising the evaluation function



On August 29, 2026 Update Capa50


- The engine is now a fully functional UCI engine that can be integrated into any chess interface.

- To start with the old text-based engine interface, enter the engine name with the correct path and the MENU parameter in the Windows command line. For example, "C:/chess/capa/capa50 menu". All familiar commands described in the Readme are still available.

The 12 playing levels, as explained, are also included, along with permanent brain moves and human commentary when COMM is enabled.

- The chess interface controls the Capa engine as a UCI engine. For valid time control, please select X in Y in the chess GUI.

The next goal, as described above, is to increase the playing strength by optimizing the book and revising the 
evaluation function.


On August 30, 2026, we implemented the following changes in Capa51:

New in the classic MENU text mode, three additional commands alongside the existing 12 levels (LEVE):

TIME — Tournament time control: X moves in Y hours/minutes/seconds. Time budget per move = remaining time/remaining moves; the clock runs, and the budget automatically recharges once the X moves have been played.

DEEP — Fixed calculation depth in ply (1–49).

SECOND — Fixed time per move in seconds.

In all three modes, Level% is internally set to 12 so that the old level budget no longer applies. Conversely, LEVE resets Tc% back to 0, ensuring both systems coexist smoothly.

On August 30, 2026, a bug was found and fixed in version Capa52.

Released on August 30, 2026, in version Capa53

Capa 5.3 is finished — triple repetition and the 50-move rule, in search and play.

On August 30, 2026, in Version Capa54

Capa 5.4 is finished — Move order: TT move, MVV-LVA, History.

In Capa 5.4, we focused on move sorting to generate playing strength. The order in which moves are processed reduces the number of positions to be evaluated and allows more processing time for
depth analysis.

Measured effect (same result, fewer nodes):

Quiet position, depth 6: 162,175 nodes vs. 131,702 nodes (-19%)
Tactical middlegame position, depth 7: 724,415 nodes vs. 469,067 nodes (-35%)
Identical best move and identical evaluation at every depth — only the efficiency has improved.

Released on August 30, 2026, in version Capa55

With version 5.5, we integrated Nullmove into the search to achieve even more truncation and thus greater search depth.

Nullmove is a crucial factor in reducing the branching factor of a search.

August 30, 2026, in version Capa56

The penultimate action this Sunday is the introduction of LMR (Late Move Reduction) into the search.

Capa 5.6 is complete — Late Move Reductions.

Measured effect (same or very close result, significantly fewer knots):

Tactical position, depth 8: 3,003,048 knots - 880,538 knots (-71%), rating 2.10 (small deviation, normal for LMR)

Hidden position, depth 6/7: identical rating (56/51) with significantly fewer knots

August 30, 2026, in version Capa57

Capa 5.7 is complete — SEE-based stroke filtering at the horizon.


The Capa60 series focused primarily on improving search functionality in the tactical area.

We validated this through positional tests.

The Capa70 series introduced game phases and, in a classic approach, addresses endgame knowledge.


Endgame knowledge is still important in the 80s series. Furthermore, I have standardized the PGN output when saving the game.
The calculation depth, evaluation, and move time are saved in curly brackets. When you open PART, you see the game in normal coordinates; in the PGN file, the game is appended in true PGN format with abbreviated notation after exiting the program.